var express = require('express')
var path = require('path')
var bodyParser = require('body-parser')
var router = require('./router')
var apiForVueResource = require('./routes/apiForVueResource.js')
var apiForVueCMS = require('./routes/apiForVueCMS.js')

var app = express()

app.use('/public/', express.static(path.join(__dirname, './public/')))
app.use('/node_modules/', express.static(path.join(__dirname, './node_modules/')))

app.engine('html', require('express-art-template'))
app.set('views', path.join(__dirname, './views/')) // 默认就是 ./views 目录

app.use(bodyParser.urlencoded({
    extended: false
}))

app.use(bodyParser.json())

// 允许跨域  
app.all("*", function(req, res, next) { //设置允许跨域的域名，*代表允许任意域名跨域
    res.header("Access-Control-Allow-Origin", "*"); //允许的header类型
    res.header("Access-Control-Allow-Headers", "content-type"); //跨域允许的请求方式 
    res.header("Access-Control-Allow-Methods", "DELETE,PUT,POST,GET,OPTIONS");
    if (req.method.toLowerCase() == 'options')
        res.send(200); //让options尝试请求快速结束
    else
        next();
})

// 把路由挂载到 app 中
app.use(router)
app.use(apiForVueResource)
app.use(apiForVueCMS)





// 配置一个处理 404 的中间件
app.use(function(req, res) {
    res.render('404.html')
})

// 配置一个全局错误处理中间件
app.use(function(err, req, res, next) {
    res.status(500).json({
        err_code: 500,
        message: err.message
    })
})

app.listen(8888, function() {
    console.log('running...')
})